package com.eeds.dao;

import com.eeds.common.model.PageInfo;
import com.eeds.common.table.ProclamationEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.eeds.model.index.vo.ProclamationInfoVO;
import com.eeds.model.proclamation.req.ReqGetProclamationListVO;
import com.eeds.model.proclamation.req.ReqGetProclamationVO;
import com.eeds.model.proclamation.res.ResGetProclamationListVO;
import com.eeds.model.proclamation.res.ResGetProclamationVO;
import com.eeds.model.user.req.ReqGetUserInfoListVO;
import com.eeds.model.user.res.ResGetUserInfoListVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 公告表
 * 
 * @author Flying
 * @email flying_miku@sina.com
 * @date 2019-09-03 20:26:00
 */
@Repository
public interface ProclamationDao extends BaseMapper<ProclamationEntity> {

    /**
     * 获取公告列表
     * @param pageInfo
     * @param reqGetProclamationListVO
     * @return
     */
    List<ResGetProclamationListVO> getProclamationList(
            @Param("pageInfo") PageInfo<ResGetProclamationListVO> pageInfo,
            @Param("reqGetProclamationListVO")ReqGetProclamationListVO reqGetProclamationListVO);


    /**
     *获取公告信息列表总记录数
     * @param reqGetProclamationListVO
     * @return
     */
    Integer getProclamationListTotalCount(
            @Param("reqGetProclamationListVO")ReqGetProclamationListVO reqGetProclamationListVO);

    /**
     * 获取公告信息
     * @param reqGetProclamationVO
     * @return
     */
    ResGetProclamationVO getProclamation(@Param("reqGetProclamationVO")ReqGetProclamationVO reqGetProclamationVO);

    /**
     * 获取欢迎页班组风采列表
     * @return
     */
    List<ProclamationInfoVO> getWelcomeProclamationInfoList();

    /**
     * 按类型获取公告信息
     * @param proclamationType
     * @return
     */
    List<ResGetProclamationVO> getProclamationInfoByType(@Param("proclamationType") Integer proclamationType);
}
